﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TVersityDotNet
{
    /// <summary>
    /// Contract implemented by TVersity message managers
    /// </summary>
    public interface IMessageManager
    {
        /// <summary>
        /// URI of the API
        /// </summary>
        Uri BaseUrl { get; set; }

        /// <summary>
        /// Process a TVersity request
        /// </summary>
        /// <param name="request">Request to be processed</param>
        /// <returns>Response received from the API</returns>
        TVersityResponse ProcessRequest(TVersityRequest request);
    }
}
